package com.cloud.api.domain.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author haohaibo
 * @since 2023-12-20
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("t_ev_model_information")
@Schema(name = "EvModelInformation", description = "车型信息表")
public class EvModelInformation implements Serializable {

    @Schema(description = "车型id")
    @TableId("id")
    private String id;

    @Schema(description = "公告型号")
    @TableField("notice_model")
    private String noticeModel;

    @Schema(description = "图片")
    @TableField("picture_url")
    private String pictureUrl;

    @Schema(description = "车辆属性")
    @TableField("vehicle_attribute")
    private String vehicleAttribute;

    @Schema(description = "外廓尺寸长*宽*高(mm)")
    @TableField("outer_dimensions")
    private String outerDimensions;

    @Schema(description = "颜色")
    @TableField("colour")
    private String colour;

    @Schema(description = "总质量")
    @TableField("total_mass")
    private String totalMass;

    @Schema(description = "整备质量")
    @TableField("curb_mass")
    private String curbMass;

    @Schema(description = "动力方式")
    @TableField("power_mode")
    private Integer powerMode;

    @Schema(description = "电池类型")
    @TableField("battery_type")
    private Integer batteryType;

    @Schema(description = "驱动电机额定转矩(N.m)")
    @TableField("drive_motor_rated_torque")
    private String driveMotorRatedTorque;

    @Schema(description = "驱动电机额定功率")
    @TableField("drive_motor_rated_power")
    private String driveMotorRatedPower;

    @Schema(description = "驱动电机冷却方式")
    @TableField("drive_motor_cool_method")
    private Integer driveMotorCoolMethod;

    @Schema(description = "驱动电机安装数量")
    @TableField("drive_motor_install_count")
    private String driveMotorInstallCount;

    @Schema(description = "驱动电机额定转速(r/min)")
    @TableField("drive_motor_rated_speed")
    private String driveMotorRatedSpeed;

    @Schema(description = "驱动电机布置形式/位置")
    @TableField("drive_motor_decorate")
    private Integer driveMotorDecorate;

    @Schema(description = "整车供电电压(V)")
    @TableField("vehicle_supply_voltage")
    private String vehicleSupplyVoltage;

    @Schema(description = "续航里程(km)")
    @TableField("mileage")
    private String mileage;

    @Schema(description = "最高车速(km/h)")
    @TableField("max_speed")
    private String maxSpeed;

    @Schema(description = "车辆级别")
    @TableField("vehicle_level")
    private Integer vehicleLevel;

    @Schema(description = "通信协议")
    @TableField("communication_protocol")
    private Integer communicationProtocol;

    @Schema(description = "百公里加速(s)")
    @TableField("hundred_accelerate")
    private String hundredAccelerate;

    @Schema(description = "百公里耗电量(kWh/100km)")
    @TableField("hundred_power_consumption")
    private String hundredPowerConsumption;

    @Schema(description = "电池系统能量密度(Wh/kg)")
    @TableField("battery_system_energy_density")
    private String batterySystemEnergyDensity;

    @Schema(description = "驱动电机峰值功率(kW)")
    @TableField("drive_motor_peak_power")
    private String driveMotorPeakPower;

    @Schema(description = "峰值转速(min)")
    @TableField("peak_speed")
    private String peakSpeed;

    @Schema(description = "吨百公里耗油量(kwh)")
    @TableField("ton_hundred_fuel_consumption")
    private String tonHundredFuelConsumption;

    @Schema(description = "峰值转矩(N.m)")
    @TableField("peak_torque")
    private String peakTorque;

    @Schema(description = "底盘生产商")
    @TableField("chassis_manufacturer")
    private String chassisManufacturer;

    @Schema(description = "底盘型号")
    @TableField("chassis_model")
    private String chassisModel;

    @Schema(description = "TBOX厂商")
    @TableField("tbox_manufacturer")
    private String tboxManufacturer;

    @Schema(description = "TBOX型号")
    @TableField("tbox_model")
    private String tboxModel;

    @Schema(description = "驱动电机型号")
    @TableField("drive_motor_model")
    private String driveMotorModel;

    @Schema(description = "驱动电机厂商")
    @TableField("drive_motor_manufacturer")
    private String driveMotorManufacturer;

    @Schema(description = "车载能源管理系统厂商")
    @TableField("vehicle_energy_system_manufacturer")
    private String vehicleEnergySystemManufacturer;

    @Schema(description = "车载能源管理系统型号")
    @TableField("vehicle_energy_system_model")
    private String vehicleEnergySystemModel;

    @Schema(description = "驱动电机控制器制造商")
    @TableField("drive_motor_controller_manufacturer")
    private String driveMotorControllerManufacturer;

    @Schema(description = "驱动电机控制器型号")
    @TableField("drive_motor_controller_model")
    private String driveMotorControllerModel;

    @Schema(description = "整车控制器厂商")
    @TableField("vehicle_controller_manufacturer")
    private String vehicleControllerManufacturer;

    @Schema(description = "整车控制器型号")
    @TableField("vehicle_controller_model")
    private String vehicleControllerModel;

    @Schema(description = "电池型号")
    @TableField("battery_model")
    private String batteryModel;

    @Schema(description = "电池质保时间")
    @TableField("battery_warranty_time")
    private String batteryWarrantyTime;

    @Schema(description = "储能装置型号")
    @TableField("energy_device_type")
    private String energyDeviceType;

    @Schema(description = "单体数量(个)")
    @TableField("monomer_number")
    private String monomerNumber;

    @Schema(description = "储能装置额定（标称）电压V")
    @TableField("energy_device_rated_voltage")
    private String energyDeviceRatedVoltage;

    @Schema(description = "产品组合形式")
    @TableField("product_combining_form")
    private String productCombiningForm;

    @Schema(description = "储能装置生产企业")
    @TableField("energy_device_production_enterprise")
    private String energyDeviceProductionEnterprise;

    @Schema(description = "额定容量(Ah)")
    @TableField("rated_capacity")
    private String ratedCapacity;

    @Schema(description = "充电循环次数(次)")
    @TableField("charge_cycle_num")
    private String chargeCycleNum;

    @Schema(description = "总储电量(Kwh)")
    @TableField("energy_storage")
    private String energyStorage;

    @Schema(description = "储能装置额定(标称)容量(Ah)")
    @TableField("energy_device_rated_capacity")
    private String energyDeviceRatedCapacity;
}
